I seem to have a similar problem
I have are three tweens in a timeline (zoom in, rotate, zoom out). I create this timeline once per object and would ideally 'rewind' and play it every time. According to the documentation I need to use myTimeline.invalidate() and myTimeline.restart(). I think I understand why that is, however something goes wrong with the relative rotationY value in the seconds tween.
The point is that the third animation only runs once. A second time it gets skipped, but the sprite IS set to it z=0 position... When i change the rotationY value to be relatively changed the animation runs flawless (but i need it to run relative to it value) every time.
Any pointers would be appreciated.
private function onAddedToStage(event:Event):void
{
myTimeline = new TimelineMax();
myTimeline.append(new TweenMax(this, .36, new TweenMaxVars().prop('z', -180).ease(Strong.easeIn)));
myTimeline.append(new TweenMax(this, 1.50, new TweenMaxVars().prop('rotationY', 180, true).ease(Strong.easeInOut)));
myTimeline.append(new TweenMax(this, .36, new TweenMaxVars().prop('z', 0).ease(Strong.easeIn)));
myTimeline.addEventListener(TweenEvent.COMPLETE, movementComplete);
myTimeline.pause();
}
public function startMove():void {
if (isMoving)
return;
this.mouseEnabled = true;
this.isMoving = true;
myTimeline.invalidate();
myTimeline.restart();
}
private function movementComplete(event:TweenEvent):void {
this.isMoving = false;
this.mouseEnabled = true;
}